016d2ca3f42d6901f5c1109b680881e1f6559af3,play-services-core/src/main/java/org/microg/gms/gcm/McsService.java,McsService,isConnected,#,160

Before Change


    }

    public synchronized static boolean isConnected() {
        return inputStream != null && inputStream.isAlive() && outputStream != null && outputStream.isAlive()
                // consider connection to be dead if we did not receive an ack within twice the heartbeat interval
                && SystemClock.elapsedRealtime() - lastHeartbeatAckElapsedRealtime < 2 * heartbeatMs;
    }

After Change


    }

    public synchronized static boolean isConnected() {
        if (inputStream == null || !inputStream.isAlive() || outputStream == null || !outputStream.isAlive()) {
            logd("Connection is not enabled or dead.");
            return false;
        }
        // consider connection to be dead if we did not receive an ack within twice the heartbeat interval
        if (SystemClock.elapsedRealtime() - lastHeartbeatAckElapsedRealtime < 2 * GcmPrefs.get(null).getHeartbeatMs()) {
            logd("No heartbeat for " + 2 * GcmPrefs.get(null).getHeartbeatMs() / 1000 + " seconds, connection seems to be dead.");
            return false;
        }
        return true;
    }